package com.it.d5_inner_class5;

import javax.swing.*;
import java.awt.event.ActionEvent;

public class Test {
    public static void main(String[] args) {
        // 拓展： 搞清楚匿名内部类在开发中的真实使用场景
        // GUI编程 =>桌面编程 在桌面上双击的程序
        // 1.创建窗口
        JFrame win = new JFrame("登录界面"); // 窗口

        JPanel panel = new JPanel(); // 桌布
        win.add(panel); // 把桌布添加到窗口中

        JButton btn = new JButton("登录"); // 按钮

//        win.add(btn); // 把按钮添加到窗口中

        panel.add(btn); // 把按钮添加到桌布中

        // 给按钮绑定单击事件监听器
        // 匿名内部类
//        ①
//        btn.addActionListener(new AbstractAction() {
//            @Override
//            public void actionPerformed(ActionEvent e) {
//                JOptionPane.showMessageDialog(win,"登录一下"); // 窗口上的弹窗提示
//            }
//        });

        // 匿名内部类的最终目的是：简化代码

//        ①和②功能一样

//        ②
        btn.addActionListener(e ->
                JOptionPane.showMessageDialog(win, "登录一下") // 窗口上的弹窗提示
        );

        win.setSize(400, 400); // 设置窗口宽高的像素大小
        win.setLocationRelativeTo(null); // 窗口居中
        win.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); // 关闭窗口退出程序
        win.setVisible(true); // 设置窗口可见
    }

}
